Computer systems typically comprise a combination of computer programs and hardware, such as semiconductors, transistors, chips, circuit boards, storage devices, and processors. The computer programs are stored in the storage devices and are executed by the processors.
Computers are often connected via networks, such as in cloud computing or client/server models, and execute virtual machines. The executions of virtual machines may be started and stopped on computer systems, the virtual machines may be moved between computer systems that belong to a cloud of computer systems, resources within the cloud of computer systems maybe allocated and deallocated to the virtual machines, and tasks, requests, or work units may be sent to virtual machines for processing.
Virtual machines often share physical machine resources. Each virtual machine may run its own operating system (typically called guest operating systems), which may be the same or different from each other. Virtual machines may allow multiple operating system environments to co-exist on the same computer, in isolation from each other. Virtual machines may provide an instruction set architecture that is somewhat different from that of the underlying physical machine or processor.
Some virtual machines are implemented as logical partitions in a logically-partitioned computer. Other virtual machines execute within a single logical partition in a logically-partitioned computer, and a virtual machine may move between logical partitions within the same logically-partitioned computer or different logically partitioned computers. Each logical partition in a logically-partitioned computer may comprise and utilize an OS (operating system), which controls the primary operations of the logical partition in the same manner as the operating system of a non-partitioned computer. Some or all of the operating systems may be the same or different from each other. Any number of logical partitions may be supported, and the number of the logical partitions resident at any time in the computer may change dynamically as partitions are added or removed from the computer. A hypervisor may add, remove, start, and/or shutdown logical partitions and may allocate resources to and deallocate resources from the logical partitions.
Each logical partition may comprise instructions that execute on the processor in a separate, or independent, memory space, and thus each logical partition may act much the same as an independent, non-partitioned computer from the perspective of each application that executes in each such logical partition. As such, the applications typically do not require any special configuration for use in a logical partition environment.